package com.sxj.corejava.code04_循环结构;

import java.util.Scanner;

/**
 * @author 石小俊
 * 2024年07月10日 8:46
 * 用户输入一个数字,在控制台通过星号*打印等腰三角形
 * 输入的数字表示图形的行数
 *     *
 *   * * *
 * * * * * *
 */
public class Test12_打印等腰三角形 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入等腰三角形的行数:");
        int length = sc.nextInt();
        // 外层循环控制行数
        for (int i = 1; i <= length; i++) {
            // 内层循环控制每一行打印的内容
            // 对于等腰三角形,打印的内容有两种:空格与星号

            //     *
            //    ***
            //   *****
            //  *******
            // *********
            // 总行数:length
            // 行数  空格数        星号数
            // 1	 4=5-1			1
            // 2	 3=5-2			3
            // 3	 2=5-3			5
            // 4	 1=5-4			7
            // 5	 0=5-5			9
            // i 	 length-i		2*i-1

            // 先打印空格
            for (int j = 1; j <= length - i; j++) {
                System.out.print("  ");
            }

            // 再打印星号
            for (int j = 1; j <= 2 * i - 1; j++) {
                System.out.print("* ");
            }
            // 内层循环结束之后进行换行
            System.out.println();
        }
    }
}
